package ObjectOriented;

import java.util.StringJoiner;
/**
 StringJoiner: 用于拼接字符串，可以指定分隔符、前缀、后缀，避免了手动拼接字符串的麻烦。
  1、StringJoiner(CharSequence delimiter)：指定分隔符
  2、StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)：指定分隔符、前缀、后缀
  3、add(CharSequence newElement)：添加字符串
  4、toString()：返回拼接后的字符串
  5、length()：返回拼接后的字符串长度
  6、merge(StringJoiner other)：合并另一个StringJoiner
  7、setEmptyValue(CharSequence emptyValue)：设置空值
  8、skipNulls()：忽略null值
 */
public class LearnStringJoiner {
  public static void main(String[] args) {
    CopyStringJoiner csj = new CopyStringJoiner();
    csj.join();
  }
  
  // public static void main(String[] args) {
  //   String[] names = {"Bob", "Alice", "Grace"};
  //   var sb = new StringBuilder();
  //   sb.append("hello ");
  //   for (String name: names) {
  //     sb.append(name)
  //       .append(", ");
  //   }
  //   /**
  //    * delete(int start, int end)：删除指定范围的字符，包括start和end位置的字符。
  //    */
  //   sb.delete(sb.length() - 2, sb.length());
  //   sb.append("!");
  //   System.out.println(sb.toString());
  // }
}

class CopyStringJoiner {
  String[] names = {"Bob", "Alice", "Grace"};
  public void join() {
    var sj = new StringJoiner(", ", "Hello ", "!");

    for (String name: names) {
      sj.add(name);
    }
    System.out.println(sj.toString());
  }
}